package com.demo.backtemplate.models.converter;

import com.demo.backtemplate.models.dto.ProductDTO;
import com.demo.backtemplate.models.entity.Product;
import org.springframework.beans.BeanUtils;

/**
 * 商品对象转换器
 */
public class ProductConverter {
    private static final String DEFAULT_IMAGE_URL = "https://img-cdn.akass.cn/42/2024/12/675941c1ac4a7.webp!wp";

    public static ProductDTO toDTO(Product product) {
        if (product == null) {
            return null;
        }
        ProductDTO dto = new ProductDTO();
        BeanUtils.copyProperties(product, dto);
        // 验证图片URL，如果无效则使用默认图片
        if (product.getImageUrl() == null || product.getImageUrl().trim().isEmpty()) {
            dto.setImageUrl(DEFAULT_IMAGE_URL);
        }
        return dto;
    }

    public static Product toEntity(ProductDTO dto) {
        if (dto == null) {
            return null;
        }
        Product entity = new Product();
        BeanUtils.copyProperties(dto, entity);
        // 验证图片URL，如果无效则使用默认图片
        if (dto.getImageUrl() == null || dto.getImageUrl().trim().isEmpty()) {
            entity.setImageUrl(DEFAULT_IMAGE_URL);
        }
        return entity;
    }
} 